main menu



12f01 = ID
12f02 = buttons
12f03 = buttons
12f05 = latch state


; remap to guncon ID
80033374 : 90C30001  LBU     04000000 (v1), 0001 (80012f80 (a2)) [80012f81]
80033378 : 34020031  ORI     800555e4 (v0), 00000000 (r0), 0031 (49),
8003337c : 14620085  BNE     00000063 (v1), 00000031 (v0), 80033594,
80033380 : 34020041  ORI     00000031 (v0), 00000000 (r0), 0041 (65),



===> just remap buttons here
80033384 : 3C038005  LUI     00000031 (v1), 8005 (32773),
80033388 : 846357D8  LH      80050000 (v1), 57d8 (80050000 (v1)) [800557d8]
8003338c : 34020003  ORI     00000041 (v0), 00000000 (r0), 0003 (3),
===>
80033390 : 10620131  BEQ     00000000 (v1), 00000003 (v0), 80033858,
80033394 : 00041040  SLL     00000003 (v0), 00000000 (a0), 01 (1),
80033398 : 00542021  ADDU    00000000 (a0), 00000000 (v0), 80055410 (s4),
8003339c : 84830000  LH      00000000 (v1), 0000 (80055410 (a0)) [80055410]
800333a0 : 34020004  ORI     00000000 (v0), 00000000 (r0), 0004 (4),
800333a4 : 10620009  BEQ     00000004 (v1), 00000004 (v0), 800333cc,
800333a8 : 34020001  ORI     00000004 (v0), 00000000 (r0), 0001 (1),
800333cc : 02113821  ADDU    00000000 (a3), 00000000 (s0), 800554f8 (s1),
800333d0 : 3C058005  LUI     80054ff0 (a1), 8005 (32773),
800333d4 : 24A55538  ADDIU   80050000 (a1), 80050000 (a1), 5538 (21816),
800333d8 : 8CE20000  LW      00000001 (v0), 0000 (800554f8 (a3)) [800554f8]
800333dc : 02052821  ADDU    80055538 (a1), 00000000 (s0), 80055538 (a1),
800333e0 : 00C04021  ADDU    80055470 (t0), 80012f00 (a2), 00000000 (r0),
800333e4 : ACA20000  SW      00000000 (v0), 0000 (80055538 (a1)) [80055538]
800333e8 : 95020002  LHU     00000000 (v0), 0002 (80012f00 (t0)) [80012f02]
800333ec : 00000000  NOP    
800333f0 : 00021027  NOR     0000ffff (v0), 00000000 (r0), 0000ffff (v0),
800333f4 : 3042FFFF  ANDI    ffff0000 (v0), ffff0000 (v0), ffff (65535),
800333f8 : ACE20000  SW      00000000 (v0), 0000 (800554f8 (a3)) [800554f8]




12f01 = ID
12f02 = buttons
12f03 = buttons
12f05 = latch state


; check justifier ID --> guncon ID
800756a0 : 90C30001  LBU     00000000 (v1), 0001 (80012f00 (a2)) [80012f01]
800756a4 : 34020031  ORI     800b98b0 (v0), 00000000 (r0), 0031 (49),
800756a8 : 14620085  BNE     00000031 (v1), 00000031 (v0), 800758c0,
800756ac : 34020041  ORI     00000031 (v0), 00000000 (r0), 0041 (65),

; --> Remap buttons here
800756b0 : 3C03800C  LUI     00000031 (v1), 800c (32780),
800756b4 : 84639CA8  LH      800c0000 (v1), 9ca8 (800c0000 (v1)) [800b9ca8]
800756b8 : 34020003  ORI     00000041 (v0), 00000000 (r0), 0003 (3),
800756bc : 10620131  BEQ     00000002 (v1), 00000003 (v0), 80075b84,
800756c0 : 00041040  SLL     00000003 (v0), 00000000 (a0), 01 (1),
800756c4 : 00542021  ADDU    00000000 (a0), 00000000 (v0), 800b9468 (s4),
800756c8 : 84830000  LH      00000002 (v1), 0000 (800b9468 (a0)) [800b9468]
800756cc : 34020004  ORI     00000000 (v0), 00000000 (r0), 0004 (4),
800756d0 : 10620009  BEQ     00000004 (v1), 00000004 (v0), 800756f8,
800756d4 : 34020001  ORI     00000004 (v0), 00000000 (r0), 0001 (1),
800756f8 : 02113821  ADDU    800b91c8 (a3), 00000000 (s0), 800b9660 (s1),
800756fc : 3C05800C  LUI     800b9088 (a1), 800c (32780),
80075700 : 24A596C0  ADDIU   800c0000 (a1), 800c0000 (a1), 96c0 (38592),
80075704 : 8CE20000  LW      00000001 (v0), 0000 (800b9660 (a3)) [800b9660]
80075708 : 02052821  ADDU    800b96c0 (a1), 00000000 (s0), 800b96c0 (a1),
8007570c : 00C04021  ADDU    800b9538 (t0), 80012f00 (a2), 00000000 (r0),
80075710 : ACA20000  SW      00008008 (v0), 0000 (800b96c0 (a1)) [800b96c0]
80075714 : 95020002  LHU     00008008 (v0), 0002 (80012f00 (t0)) [80012f02]
80075718 : 00000000  NOP    
8007571c : 00021027  NOR     0000fff7 (v0), 00000000 (r0), 0000fff7 (v0),
80075720 : 3042FFFF  ANDI    ffff0008 (v0), ffff0008 (v0), ffff (65535),
80075724 : ACE20000  SW      00000008 (v0), 0000 (800b9660 (a3)) [800b9660]





; latch reset - offscreen (00) / onscreen (01+)
8001daf4 : 8CF80000  LW      00000000 (t8), 0000 (800b91c8 (a3)) [800b91c8]
8001daf8 : 10400026  BEQ     00000000 (v0), 00000000 (r0), 8001db94,
--> remove this
8001dafc : A3020000  SB      00000000 (v0), 0000 (80012f05 (t8)) [80012f05]










; y-center = $74 (116 --> 232)
; x-center = $100 (256 --> 512)


80075794 : 91050005  LBU     00000000 (a1), 0005 (80012f00 (t0)) [80012f05]
80075798 : 00003821  ADDU    800b9660 (a3), 00000000 (r0), 00000000 (r0),
8007579c : 00A01021  ADDU    00000001 (v0), 00000001 (a1), 00000000 (r0),
800757a0 : 00021400  SLL     00000001 (v0), 00000001 (v0), 10 (16),
800757a4 : 1040000C  BEQ     00010000 (v0), 00000000 (r0), 800757d8,


; offset address = (latch mult-1) * 4
; - $01 = 12f06 (y) / 12f08 (x)
; - $8c ~ y-center (140)
; - $400 ~ x-center (x / $672 ~ 1650)
800757a8 : 24A5FFFF  ADDIU   00000001 (a1), 00000001 (a1), ffff (65535),
800757ac : 00051400  SLL     00010000 (v0), 00000000 (a1), 10 (16),
800757b0 : 00021383  SRA     00000000 (v0), 00000000 (v0), 0e (14),
800757b4 : 01021021  ADDU    00000000 (v0), 80012f00 (t0), 00000000 (v0),

; a2 = y-axis // a3 = x-axis
800757b8 : 94440008  LHU     00008008 (a0), 0008 (80012f00 (v0)) [80012f08]
800757bc : 00A01821  ADDU    00000000 (v1), 00000000 (a1), 00000000 (r0),
800757c0 : 24A5FFFF  ADDIU   00000000 (a1), 00000000 (a1), ffff (65535),

800757c4 : 94420006  LHU     80012f00 (v0), 0006 (80012f00 (v0)) [80012f06]
800757c8 : 00031C00  SLL     00000000 (v1), 00000000 (v1), 10 (16),
800757cc : 00C43021  ADDU    00000000 (a2), 00000000 (a2), 00000135 (a0),
800757d0 : 1460FFF6  BNE     00000000 (v1), 00000000 (r0), 800757ac,
800757d4 : 00E23821  ADDU    00000000 (a3), 00000000 (a3), 00000004 (v0),

; x-scale #1
800757d8 : 91020005  LBU     00000004 (v0), 0005 (80012f00 (t0)) [80012f05]
800757dc : 00000000  NOP    
800757e0 : 00C2001B  DIVU    00000135 (a2), 00000001 (v0),
800757e4 : 14400002  BNE     00000001 (v0), 00000000 (r0), 800757f0,
800757e8 : 00000000  NOP    

; y-scale #1
800757f0 : 00003012  MFLO    00000135 (a2), 00000135 (lo),
800757f4 : 00E2001B  DIVU    00000004 (a3), 00000001 (v0),
800757f8 : 14400002  BNE     00000001 (v0), 00000000 (r0), 80075804,
800757fc : 00000000  NOP    
(..)

80075804 : 00003812  MFLO    00000004 (a3), 00000004 (lo),

; x-scale here + y-centering (remove)
80075808 : 34020672  ORI     00000001 (v0), 00000000 (r0), 0672 (1650),
8007580c : 24C6FF74  ADDIU   00000135 (a2), 00000135 (a2), ff74 (65396),
--> remove math (sll $0)
80075810 : 00061A40  SLL     00000000 (v1), 000000a9 (a2), 09 (9),
80075814 : 0062001B  DIVU    00015200 (v1), 00000672 (v0),
80075818 : 14400002  BNE     00000672 (v0), 00000000 (r0), 80075824,
8007581c : 00000000  NOP    
(..)
80075824 : 00003012  MFLO    000000a9 (a2), 00000034 (lo),
80075828 : 3C02800C  LUI     00000672 (v0), 800c (32780),
8007582c : 8C429C78  LW      800c0000 (v0), 9c78 (800c0000 (v0)) [800b9c78]
80075830 : 00000000  NOP    
80075834 : 8442178A  LH      80011000 (v0), 178a (80011000 (v0)) [8001278a]
80075838 : 00000000  NOP    
8007583c : 10400003  BEQ     00000000 (v0), 00000000 (r0), 8007584c,
80075840 : 00000000  NOP    

; x-adjust (remove)
8007584c : 24E7FFCA  ADDIU   00000004 (a3), 00000004 (a3), ffca (65482),
